package com.cwh.taskcenter.task.dto.data;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;

/**
 * @author cwh
 */
@Data
public class TaskInfoDTO implements Serializable {

    /**
     * 任务ID
     */
    @Schema(description = "任务ID")
    private Long id;

    /**
     * 任务名称
     */
    @Schema(description = "任务标题")
    @NotBlank(message = "任务标题不能为空")
    private String taskTitle;

    @Schema(description = "副标题")
    private String taskSubtitle;

    @Schema(description = "任务描述")
    private String taskDescription;

    @Schema(description = "任务封面")
    private String taskCoverUrl;

    @Schema(description = "任务周期类型")
    private String cycleType;

    /**
     * 任务类型(1:日常任务,2:连续任务,3:限时任务,4:成就任务)
     */
    @Schema(description = "任务类型")
    @NotBlank(message = "任务类型不能为空")
    private String taskType;


    @NotBlank(message = "领取类型不能为空")
    @Schema(description = "领取类型: AUTO-自动参与/MANUAL-需手动领取")
    private String claimType;


    /**
     * 开始时间
     */
    @Schema(description = "开始时间")
    private String startTime;

    /**
     * 结束时间
     */
    @Schema(description = "结束时间")
    private String endTime;

    @Schema(description = "最大参与次数")
    private Integer maxParticipate;

    @Schema(description = "用户群体类型")
    private String userGroupType;

    @Schema(description = "任务显示位置")
    private List<String> displayPosition;

    @Schema(description = "任务优先级")
    private String priority;

}
